home *** CD-ROM | disk | FTP | other *** search
/ CyberMycha Extra 2004 January / CyberMycha Extra 1-2004 (Poland) (Disc 2).bin / Pippi / gmtb.dir / 00003_trainDrag.ls < prev    next >
Encoding:
Text File  |  2001-09-12  |  1.7 KB  |  81 lines

  1. property inited, meSprite, meMember, firstPos, placed, meFlashSprite
  2. global gmObject, autoMoveObject
  3.  
  4. on beginSprite me
  5.   inited = 0
  6. end
  7.  
  8. on exitFrame me
  9.   if inited = 0 then
  10.     inited = 1
  11.     placed = 0
  12.     meSprite = sprite(me.spriteNum)
  13.     meMember = meSprite.member
  14.     meFlashSprite = sprite(me.spriteNum + 6)
  15.     autoPlace(me)
  16.     firstPos = meSprite.loc
  17.     reportSprites(gmObject, me.spriteNum + 6, "trainSprites")
  18.   end if
  19. end
  20.  
  21. on autoPlace me
  22.   sound(1).play(member("swish", 1))
  23.   autoMove(autoMoveObject, meSprite, point(370, 111))
  24. end
  25.  
  26. on mouseDown me
  27.   if placed = 0 then
  28.     originLocZ = meSprite.locZ
  29.     meSprite.locZ = 155
  30.     mPos = the mouseLoc - firstPos
  31.     repeat while the mouseDown
  32.       meSprite.loc = the mouseLoc - mPos
  33.       updateStage()
  34.     end repeat
  35.     meSprite.locZ = originLocZ
  36.   end if
  37. end
  38.  
  39. on mouseUp me
  40.   if placed = 0 then
  41.     repeat with n = gmObject.railSprites[1] to gmObject.railSprites[11]
  42.       if rollover(sprite(n)) then
  43.         val = gmObject.getTrainLoc(the mouseLoc)
  44.         if val[1] = 0 then
  45.           exit repeat
  46.           next repeat
  47.         end if
  48.         meLoc = val[1]
  49.         meRot = val[2]
  50.         meFrame = val[3]
  51.         placed = 1
  52.         exit repeat
  53.       end if
  54.     end repeat
  55.     if placed = 0 then
  56.       autoMove(autoMoveObject, meSprite, firstPos)
  57.     else
  58.       sound(1).play(member("place", 1))
  59.       autoMove(autoMoveObject, meSprite, meLoc, meRot)
  60.       meFlashSprite.gotoFrame(meFrame)
  61.       meFlashSprite.member.fixedRate = 0
  62.       meFlashSprite.loc = point(400, 300)
  63.       meSprite.loc = point(1400, 1300)
  64.       gmObject.order()
  65.       go(the frame + 1)
  66.     end if
  67.   end if
  68. end
  69.  
  70. on mouseEnter me
  71.   cursor([500, 501])
  72. end
  73.  
  74. on mouseLeave me
  75.   cursor(0)
  76. end
  77.  
  78. on endSprite me
  79.   cursor(0)
  80. end
  81.